﻿//获取url参数
function GetRequest() {
    var url = location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for (var i = 0; i < strs.length; i++) {
            theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}

//获取锚
function Getmao(split) {
    var hash = window.location.hash;
    hash = hash.substr(1);
    return hash.split(split);
}
//弹出信息
function $alert(txt, time, type) {
    var txttype;
    switch (type) {
        case 0:
            txttype = 'success'; break;
        case 1:
            txttype = 'error'; break;
        default: txttype = 'info'; break;
    }
    if (!time) {
        time = 5;
    }
    $.globalMessenger().post({
        message: txt,
        type: txttype,
        hideAfter: time,
    });
}


/*** 
 * ajax获取服务端数据 
 * @url 业务数据 
 * @data 
 */
$.doAjaxGet = function (url, fn) {
    //$.getJSON(url, fn);  
    $.ajax({
        url: url,
        type: "GET",
        dataType: 'json',
        success: function (d) {
            fn(d);
        }, error: function () {
            $alert("服务器错误");
        }
    });
};

/*** 
 * ajax获取服务端数据 
 * @url 业务数据 
 * @data 
 */
$.doAjaxDataGet = function (url, data, fn) {
    //$.getJSON(url, fn);  

    $.ajax({
        url: url,
        type: "GET",
        dataType: 'json',
        data: data,
        success: function (d) {
            fn(d);
        },
        error: function (d) {
            $alert(d);
        }
    });

};


$.doJsonPost = function (url, data, fn) {
    $.ajax({
        url: url,
        type: 'POST',
        data: data,
        dataType: 'json',
        contentType: 'application/json',
        success: function (d) {
            fn(d);
        },
        error: function () {
            $alert("服务器错误");
        }
    });
};

$.doPost = function (url, data, fn,errorfn) {
    $.ajax({
        url: url,
        type: 'POST',
        data: data,
        dataType: 'json',
        success: function (d) {
            fn(d);
        },
        error: function () {
            errorfn=errorfn|| function (){ $alert("服务器错误");}
        }
    });
};

$.doUp = function (url, formdata, fn, exfn) {
    $.ajax({
        type: 'POST',
        url: url,
        //async: false,
        data: formdata,
        dataType: 'json',
        /**
         *必须false才会自动加上正确的Content-Type
         */
        contentType: false,
        /**
        * 必须false才会避开jQuery对 formdata 的默认处理
        * XMLHttpRequest会对 formdata 进行正确的处理
        */
        processData: false,
        success: function (d) {
            fn(d);
        },
        error: function (d) {
            exfn(d);
        }
    });
};

// 自动完成
function $typeahead(fn, url) {
    $(fn).typeahead({
        items: 10, // 显示数量
        minLength: 2, // 触发自动完成长度
        source: function (query, process) {
            //query是输入的值
            $.post(url, { wd: query }, function (d) {
                console.log(d);
                process(d);
            });
        },
        matcher: function () {
            return true;
        },

        updater: function (item) {
            return item;//回车后更新的数据
        },
        highlighter: function (item) {
            return item;//回车后更新的数据
        },
    });
}
//分页
function $page(page, rows, count) {
    var p = new Object();
    p.rows = rows;//行数
    p.count = count;//总数
    p.page = page;//第几页
    p.total = Math.floor((count + rows - 1) / rows);//总页数

    p.up = page - 1 <= 1 ? 1 : page - 1;;//上一页
    p.next = page + 1 >= p.total ? p.total : page + 1;;//下一页

    p.ismax = page == p.total;//是否是最大页

    p.ismin = page == 1;//是否是最小页


    //分页视图
    p.vpf = function (viewPageNum) {
        viewPageNum = 3;
        var maxpages;
        var minpages;
        minpages = page - viewPageNum;

        minpages = minpages < 1 ? 1 : minpages;

        maxpages = page + viewPageNum;

        maxpages = maxpages > p.total ? p.total : maxpages;

        var viewpages = new Array();
        for (var i = minpages; i <= maxpages; i++) {
            viewpages.push(i);
        }
        return viewpages;
    }
    p.vp = p.vpf();//分页视图
    return p;
}
//平滑滚动
var pinghua=function () {
    if (navigator.appName.indexOf("Microsoft") == -1) {
        $("a").click(function () {
            $("html, body").animate({
                scrollTop: $($(this).attr("href")).offset().top + "px"
            }, {
                duration: 500,
                easing: "swing"
            });
            //console.log('ok')
            return false;
        });
    }
}

//显示前段字符
function substr(str, num) {
    num = num || 50;
    if (str.length > num) {
        return str.substring(0, num)+"……";
    }
    return str;
}

function $alert2(str) {
    $('#alert').modal('open');
    $('#alertMs').text(str);
}